<%# # the license inside this if block pertains to this file
		# Copyright 2020 Google Inc.
		# Licensed under the Apache License, Version 2.0 (the "License");
		# you may not use this file except in compliance with the License.
		# You may obtain a copy of the License at
		#
		#     http://www.apache.org/licenses/LICENSE-2.0
		#
		# Unless required by applicable law or agreed to in writing, software
		# distributed under the License is distributed on an "AS IS" BASIS,
		# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
		# See the License for the specific language governing permissions and
		# limitations under the License.
#%>
func expand<%= prefix -%><%= titlelize_property(property) -%>(v interface{}, d TerraformResourceData, config *Config) (interface{}, error) {
	l := v.([]interface{})
	req := make([]interface{}, 0, len(l))
	for _, raw := range l {
		if raw == nil {
			continue
		}
		original := raw.(map[string]interface{})
		transformed := make(map[string]interface{})

		transformedProjectId := original["project_id"]
		if val := reflect.ValueOf(transformedProjectId); val.IsValid() && !isEmptyValue(val) {
			transformed["projectId"] = transformedProjectId
		}

		transformedDatasetId := original["dataset_id"]
		if val := reflect.ValueOf(transformedDatasetId); val.IsValid() && !isEmptyValue(val) {
			transformed["datasetId"] = transformedDatasetId
		}

		transformedTableId := original["table_id"]
		if val := reflect.ValueOf(transformedTableId); val.IsValid() && !isEmptyValue(val) {
			transformed["tableId"] = transformedTableId
		}

		tableRef := regexp.MustCompile("projects/(.+)/datasets/(.+)/tables/(.+)")
		if parts := tableRef.FindStringSubmatch(transformedTableId.(string)); parts != nil {
			transformed["projectId"] = parts[1]
			transformed["datasetId"] = parts[2]
			transformed["tableId"] =  parts[3]
		}

		req = append(req, transformed)
	}
	return req, nil
}
